package com.easydl.project.config;

import org.springframework.cache.concurrent.ConcurrentMapCache;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 *   1,@Qualifier使用
 *   2,RestTemplate表单提交和application/json
 *   3,@Cacheable，controller调用，注解生效，私有方法内部调用，不生效
 *   4,token本地数据存储的设计是个坑，应该直接本地缓存和远程获取两种就可以
 *   5,logger记录异常堆栈信息
 *   6,ConcurrentMapCache get方法返回的是ValueWrapper对象,ValueWrapper.get()返回的才是缓存数据
 *   7,SpringCache自定义Key生成器的使用
 *   8,https://spring.io/projects/spring-session   SpringSession项目		分布式session
 *   9,ReadWriteLock的使用
 * @author fxb208
 *
 */
@Configuration
public class EasyConfiguration {

	@Bean(name="easyRestTemplate")
	public RestTemplate easyRestTemplate() {
		return new RestTemplate();
	}
	
	@Bean(name="easyConcurrentMapCache")
	public ConcurrentMapCache easyConcurrentMapCache() {
		return new ConcurrentMapCache("easydlAccessTokenVO");
	}
	
}
